package hibernate.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;

@SuppressWarnings("serial")
@Entity
@Table(name = "yorumlar", catalog = "emmy")
@NamedQueries({
@NamedQuery(name = "findYorumKulid",	query = "from Yorumlar where kullaniciid = :yKulid"),
@NamedQuery(name = "findYorumAygitid",	query = "from Yorumlar where aygitid = :yAygitid"),
@NamedQuery(name = "findYorumPuan",		query = "from Yorumlar where puan = :yPuan"),
@NamedQuery(name = "findYorumYrm",		query = "from Yorumlar where yorum like :yYrm"),
@NamedQuery(name = "findYorumTarih",	query = "from Yorumlar where tarih = :yTarih"),
@NamedQuery(name = "findYorumBaslik",	query = "from Yorumlar where baslik like :yBaslik")
})
public class Yorumlar implements java.io.Serializable {

	private Long yorumid;
	private Musteri musteri;
	private Aygit aygit;
	private int puan;
	private String yorum;
	private String tarih;
	private String baslik;

	public Yorumlar() {
	}

	public Yorumlar(Musteri musteri, Aygit aygit, int puan, String yorum,
			String tarih, String baslik) {
		this.musteri = musteri;
		this.aygit = aygit;
		this.puan = puan;
		this.yorum = yorum;
		this.tarih = tarih;
		this.baslik = baslik;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "yorumid", unique = true, nullable = false)
	public Long getYorumid() {
		return this.yorumid;
	}

	public void setYorumid(Long yorumid) {
		this.yorumid = yorumid;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "kullaniciid", nullable = false)
	public Musteri getMusteri() {
		return this.musteri;
	}

	public void setMusteri(Musteri musteri) {
		this.musteri = musteri;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "aygitid", nullable = false)
	public Aygit getAygit() {
		return this.aygit;
	}

	public void setAygit(Aygit aygit) {
		this.aygit = aygit;
	}

	@Column(name = "puan", nullable = false)
	public int getPuan() {
		return this.puan;
	}

	public void setPuan(int puan) {
		this.puan = puan;
	}

	@Column(name = "yorum", nullable = false, length = 100)
	public String getYorum() {
		return this.yorum;
	}

	public void setYorum(String yorum) {
		this.yorum = yorum;
	}

	@Column(name = "tarih", nullable = false, length = 10)
	public String getTarih() {
		return this.tarih;
	}

	public void setTarih(String tarih) {
		this.tarih = tarih;
	}

	@Column(name = "baslik", nullable = false, length = 20)
	public String getBaslik() {
		return this.baslik;
	}

	public void setBaslik(String baslik) {
		this.baslik = baslik;
	}
}